package com.cm.behavior.strategy.example2;

import com.cm.creational.singleton.SingletonStaticHungry;

/**
 * 参考美团博客实现的单例注册有问题：
 * 项目中有Hotel类，但是没有任何地方主动调用Hotel的静态方法和构造方法，那么即使我的项目启动了，jvm也不会加载Hotel类
 * <a href="https://tech.meituan.com/2022/03/10/interesting-talk-about-design-patterns.html">设计模式二三事</a>
 * @author gcm
 * @date 2024/5/13 16:39
 */
public class Hotel extends AbstractStrategy implements Strategy{
    private static final Hotel INSTANCE;
    private Hotel() {
        register();
    }
    // 在静态代码块执行时，创建单例对象
    static {
        INSTANCE = new Hotel();
    }
    public static Hotel getInstance() {
        return INSTANCE;
    }
    @Override
    public void issue(Object... params) {
        // do something
        System.out.println("奖励住宿积分");
    }
}
